题目描述如标题所示。
上,下三角矩阵的压缩存储公式同样适用于对称矩阵(仅需存储一半*)
K=f1(i)+f2(j)+C
首先推导下三角矩阵压缩存储过程中,一维数组下标K的运算公示。
图一:90f65d524debab1ab3bd72a7bb28848.png
由图思考可得 下标K所指的即为aij元素之前的元素个数。下三角矩阵所有元素总数为Sn=n(n+1)/2个。
第i-1行及其之前的元素总数为
S`n=(i-1)(i-1+1)/2个
再加上第i行元素个数 j
由于一维数组下标由0开始,因此表达式为

K=(i-1)(i)/2 + j-1 (i≥j)

由图二:7114f9176df5866d0bb0c9fdec69a90.png
可得下三角矩阵与上三角矩阵变换下标即可得 aij=aji 所以仅需交换表达式中i与j的位置即可。

K=(j-1)(j)/2 + i-1 (j≥i)

**


WildDuck
0 声望1 粉丝